Skill

জাভাস্ক্রিপ্ট অবজেক্ট (JS Object)

Web Development- জাভাস্ক্রিপ্ট (JavaScript) - জাভাস্ক্রিপ্ট অবজেক্ট (JS Object) -
306
306

জাভাস্ক্রিপ্টে অবজেক্ট একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার যা বিভিন্ন ধরনের ডেটা এবং ফাংশন সংরক্ষণ এবং পরিচালনা করার জন্য ব্যবহৃত হয়। অবজেক্টগুলি প্রোপার্টি এবং মেথডের সমন্বয়ে গঠিত, যা ডেটা এবং আচরণকে একসাথে সংযুক্ত করে।


অবজেক্ট কি?

একটি অবজেক্ট হল এমন একটি কন্টেইনার যা কীগুলির মাধ্যমে মান (value) সংরক্ষণ করে। প্রতিটি কী একটি স্ট্রিং বা সিম্বল হতে পারে এবং প্রতিটি মান যেকোনো ডেটা টাইপের হতে পারে, যেমন সংখ্যা, স্ট্রিং, অ্যারে, অন্য অবজেক্ট, বা ফাংশন।

একটি সাদাসিধে উদাহরণ:

const person = {
    name: "Alice",
    age: 30,
    isEmployed: true
};

এখানে, person একটি অবজেক্ট যা name, age, এবং isEmployed প্রোপার্টি ধারণ করে।


অবজেক্ট তৈরি করার পদ্ধতি

অবজেক্ট লিটারেল (Object Literal) ব্যবহার করে

অবজেক্ট লিটারেল ব্যবহার করে সহজেই একটি অবজেক্ট তৈরি করা যায়।

const car = {
    make: "Toyota",
    model: "Corolla",
    year: 2020
};

কনস্ট্রাক্টর ফাংশন (Constructor Function) ব্যবহার করে

কনস্ট্রাক্টর ফাংশন ব্যবহার করে অবজেক্ট তৈরি করা যায় যা প্রোপার্টি ইনিশিয়ালাইজ করতে সাহায্য করে।

function Person(name, age) {
    this.name = name;
    this.age = age;
}

const person1 = new Person("Bob", 25);
const person2 = new Person("Charlie", 28);

ক্লাস (Class) ব্যবহার করে

ES6 থেকে পরিচিত ক্লাস সিনট্যাক্স ব্যবহার করে অবজেক্ট তৈরি করা যায়, যা ইনহেরিটেন্স এবং মেথড ডিফাইনেশনে সহজতা আনে।

class Animal {
    constructor(name, species) {
        this.name = name;
        this.species = species;
    }

    speak() {
        console.log(`${this.name} says hello!`);
    }
}

const animal1 = new Animal("Leo", "Lion");
animal1.speak();  // আউটপুট: Leo says hello!

অবজেক্টের প্রোপার্টি অ্যাক্সেস করা

ডট নোটেশন (Dot Notation)

ডট নোটেশন ব্যবহার করে অবজেক্টের প্রোপার্টি অ্যাক্সেস করা যায়।

console.log(person.name);  // আউটপুট: Alice
console.log(person.age);   // আউটপুট: 30

ব্র্যাকেট নোটেশন (Bracket Notation)

ব্র্যাকেট নোটেশন ব্যবহার করে অবজেক্টের প্রোপার্টি অ্যাক্সেস করা যায়, যা ডাইনামিক কী অ্যাক্সেসের জন্য উপযুক্ত।

console.log(person["name"]);  // আউটপুট: Alice
console.log(person["age"]);   // আউটপুট: 30

const prop = "isEmployed";
console.log(person[prop]);     // আউটপুট: true

অবজেক্টের প্রোপার্টি সেট করা

ডট নোটেশন ব্যবহার করে

person.name = "Alicia";
person.age = 31;

console.log(person.name);  // আউটপুট: Alicia
console.log(person.age);   // আউটপুট: 31

ব্র্যাকেট নোটেশন ব্যবহার করে

person["name"] = "Alisha";
person["age"] = 32;

console.log(person["name"]);  // আউটপুট: Alisha
console.log(person["age"]);   // আউটপুট: 32

মেথড (Methods)

অবজেক্টের প্রোপার্টি হিসেবে ফাংশন সংরক্ষণ করে মেথড তৈরি করা যায়।

const calculator = {
    add: function(a, b) {
        return a + b;
    },
    subtract(a, b) {
        return a - b;
    }
};

console.log(calculator.add(5, 3));      // আউটপুট: 8
console.log(calculator.subtract(5, 3)); // আউটপুট: 2

this কিওয়ার্ড

this কিওয়ার্ড অবজেক্টের বর্তমান কনটেক্সট নির্দেশ করে। মেথডের মধ্যে this সাধারণত সেই অবজেক্টকে রেফার করে যার মাধ্যমে মেথডটি কল করা হয়েছে।

const user = {
    name: "Diana",
    greet: function() {
        console.log(`Hello, my name is ${this.name}!`);
    }
};

user.greet();  // আউটপুট: Hello, my name is Diana!

এখানে, this.name user অবজেক্টের name প্রোপার্টি নির্দেশ করছে।


প্রোটোটাইপ (Prototype) এবং ইনহেরিটেন্স

জাভাস্ক্রিপ্টে প্রতিটি অবজেক্টের একটি প্রোটোটাইপ থাকে, যা তাকে বৈশিষ্ট্য এবং মেথড উত্তরাধিকারসূত্রে দেয়। এটি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিংয়ের মৌলিক ধারণা।

function Vehicle(type) {
    this.type = type;
}

Vehicle.prototype.describe = function() {
    console.log(`This is a ${this.type}.`);
};

const car = new Vehicle("car");
car.describe();  // আউটপুট: This is a car.

এখানে, Vehicle ফাংশনটি প্রোটোটাইপে একটি describe মেথড সংজ্ঞায়িত করেছে, যা car অবজেক্ট থেকে অ্যাক্সেস করা যায়।


অবজেক্ট মেথড

Object.keys()

কোনো অবজেক্টের সমস্ত কী গুলোর একটি অ্যারে রিটার্ন করে।

const keys = Object.keys(person);
console.log(keys);  // আউটপুট: ["name", "age", "isEmployed"]

Object.values()

কোনো অবজেক্টের সমস্ত ভ্যালু গুলোর একটি অ্যারে রিটার্ন করে।

const values = Object.values(person);
console.log(values);  // আউটপুট: ["Alisha", 32, true]

Object.entries()

কোনো অবজেক্টের সমস্ত কী-ভ্যালু জোড়া গুলোর একটি অ্যারে রিটার্ন করে।

const entries = Object.entries(person);
console.log(entries);  
// আউটপুট: [["name", "Alisha"], ["age", 32], ["isEmployed", true]]

অবজেক্ট ডিসট্রাকচারিং (Object Destructuring)

অবজেক্ট ডিসট্রাকচারিং ব্যবহার করে অবজেক্টের প্রোপার্টি গুলোকে সহজে ভেরিয়েবল হিসেবে অ্যাক্সেস করা যায়।

const { name, age } = person;
console.log(name);  // আউটপুট: Alisha
console.log(age);   // আউটপুট: 32

স্প্রেড অপারেটর (Spread Operator) এবং অবজেক্ট

স্প্রেড অপারেটর ব্যবহার করে অবজেক্টের প্রোপার্টি গুলোকে কপি বা মিশ্রিত করা যায়।

অবজেক্ট কপি করা

const personCopy = { ...person };
console.log(personCopy);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true }

অবজেক্ট মিশ্রিত করা

const additionalInfo = { city: "Dhaka", country: "Bangladesh" };
const fullPerson = { ...person, ...additionalInfo };
console.log(fullPerson);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true, city: "Dhaka", country: "Bangladesh" }

JSON এবং অবজেক্ট

জাভাস্ক্রিপ্ট অবজেক্টকে JSON (JavaScript Object Notation) এ রূপান্তর এবং বিপরীত করার জন্য JSON.stringify() এবং JSON.parse() মেথড ব্যবহার করা হয়।

অবজেক্টকে JSON এ রূপান্তর

const jsonString = JSON.stringify(person);
console.log(jsonString);
// আউটপুট: {"name":"Alisha","age":32,"isEmployed":true}

JSON কে অবজেক্টে রূপান্তর

const jsonObject = JSON.parse(jsonString);
console.log(jsonObject);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true }

সারাংশ

জাভাস্ক্রিপ্ট অবজেক্টগুলি ডেটা এবং ফাংশনগুলিকে একসাথে সংরক্ষণ এবং পরিচালনা করার একটি শক্তিশালী উপায় প্রদান করে। অবজেক্ট লিটারেল, কনস্ট্রাক্টর ফাংশন, এবং ক্লাসের মাধ্যমে অবজেক্ট তৈরি করা যায়। প্রোপার্টি অ্যাক্সেস, মেথড, this কিওয়ার্ড, প্রোটোটাইপ, এবং অবজেক্ট মেথডগুলি অবজেক্ট ম্যানিপুলেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে। অবজেক্ট ডিসট্রাকচারিং, স্প্রেড অপারেটর, এবং JSON এর মাধ্যমে অবজেক্টগুলির সাথে কাজ করা আরও সহজ এবং কার্যকরী হয়। সঠিক বেস্ট প্র্যাকটিস অনুসরণ করে অবজেক্টের ব্যবহার কোডের সংগঠন, রক্ষণাবেক্ষণযোগ্যতা এবং কার্যকারিতা বৃদ্ধি করে।

জাভাস্ক্রিপ্টে অবজেক্ট একটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার যা বিভিন্ন ধরনের ডেটা এবং ফাংশন সংরক্ষণ এবং পরিচালনা করার জন্য ব্যবহৃত হয়। অবজেক্টগুলি প্রোপার্টি এবং মেথডের সমন্বয়ে গঠিত, যা ডেটা এবং আচরণকে একসাথে সংযুক্ত করে।


অবজেক্ট কি?

একটি অবজেক্ট হল এমন একটি কন্টেইনার যা কীগুলির মাধ্যমে মান (value) সংরক্ষণ করে। প্রতিটি কী একটি স্ট্রিং বা সিম্বল হতে পারে এবং প্রতিটি মান যেকোনো ডেটা টাইপের হতে পারে, যেমন সংখ্যা, স্ট্রিং, অ্যারে, অন্য অবজেক্ট, বা ফাংশন।

একটি সাদাসিধে উদাহরণ:

const person = {
    name: "Alice",
    age: 30,
    isEmployed: true
};

এখানে, person একটি অবজেক্ট যা name, age, এবং isEmployed প্রোপার্টি ধারণ করে।


অবজেক্ট তৈরি করার পদ্ধতি

অবজেক্ট লিটারেল (Object Literal) ব্যবহার করে

অবজেক্ট লিটারেল ব্যবহার করে সহজেই একটি অবজেক্ট তৈরি করা যায়।

const car = {
    make: "Toyota",
    model: "Corolla",
    year: 2020
};

কনস্ট্রাক্টর ফাংশন (Constructor Function) ব্যবহার করে

কনস্ট্রাক্টর ফাংশন ব্যবহার করে অবজেক্ট তৈরি করা যায় যা প্রোপার্টি ইনিশিয়ালাইজ করতে সাহায্য করে।

function Person(name, age) {
    this.name = name;
    this.age = age;
}

const person1 = new Person("Bob", 25);
const person2 = new Person("Charlie", 28);

ক্লাস (Class) ব্যবহার করে

ES6 থেকে পরিচিত ক্লাস সিনট্যাক্স ব্যবহার করে অবজেক্ট তৈরি করা যায়, যা ইনহেরিটেন্স এবং মেথড ডিফাইনেশনে সহজতা আনে।

class Animal {
    constructor(name, species) {
        this.name = name;
        this.species = species;
    }

    speak() {
        console.log(`${this.name} says hello!`);
    }
}

const animal1 = new Animal("Leo", "Lion");
animal1.speak();  // আউটপুট: Leo says hello!

অবজেক্টের প্রোপার্টি অ্যাক্সেস করা

ডট নোটেশন (Dot Notation)

ডট নোটেশন ব্যবহার করে অবজেক্টের প্রোপার্টি অ্যাক্সেস করা যায়।

console.log(person.name);  // আউটপুট: Alice
console.log(person.age);   // আউটপুট: 30

ব্র্যাকেট নোটেশন (Bracket Notation)

ব্র্যাকেট নোটেশন ব্যবহার করে অবজেক্টের প্রোপার্টি অ্যাক্সেস করা যায়, যা ডাইনামিক কী অ্যাক্সেসের জন্য উপযুক্ত।

console.log(person["name"]);  // আউটপুট: Alice
console.log(person["age"]);   // আউটপুট: 30

const prop = "isEmployed";
console.log(person[prop]);     // আউটপুট: true

অবজেক্টের প্রোপার্টি সেট করা

ডট নোটেশন ব্যবহার করে

person.name = "Alicia";
person.age = 31;

console.log(person.name);  // আউটপুট: Alicia
console.log(person.age);   // আউটপুট: 31

ব্র্যাকেট নোটেশন ব্যবহার করে

person["name"] = "Alisha";
person["age"] = 32;

console.log(person["name"]);  // আউটপুট: Alisha
console.log(person["age"]);   // আউটপুট: 32

মেথড (Methods)

অবজেক্টের প্রোপার্টি হিসেবে ফাংশন সংরক্ষণ করে মেথড তৈরি করা যায়।

const calculator = {
    add: function(a, b) {
        return a + b;
    },
    subtract(a, b) {
        return a - b;
    }
};

console.log(calculator.add(5, 3));      // আউটপুট: 8
console.log(calculator.subtract(5, 3)); // আউটপুট: 2

this কিওয়ার্ড

this কিওয়ার্ড অবজেক্টের বর্তমান কনটেক্সট নির্দেশ করে। মেথডের মধ্যে this সাধারণত সেই অবজেক্টকে রেফার করে যার মাধ্যমে মেথডটি কল করা হয়েছে।

const user = {
    name: "Diana",
    greet: function() {
        console.log(`Hello, my name is ${this.name}!`);
    }
};

user.greet();  // আউটপুট: Hello, my name is Diana!

এখানে, this.name user অবজেক্টের name প্রোপার্টি নির্দেশ করছে।


প্রোটোটাইপ (Prototype) এবং ইনহেরিটেন্স

জাভাস্ক্রিপ্টে প্রতিটি অবজেক্টের একটি প্রোটোটাইপ থাকে, যা তাকে বৈশিষ্ট্য এবং মেথড উত্তরাধিকারসূত্রে দেয়। এটি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিংয়ের মৌলিক ধারণা।

function Vehicle(type) {
    this.type = type;
}

Vehicle.prototype.describe = function() {
    console.log(`This is a ${this.type}.`);
};

const car = new Vehicle("car");
car.describe();  // আউটপুট: This is a car.

এখানে, Vehicle ফাংশনটি প্রোটোটাইপে একটি describe মেথড সংজ্ঞায়িত করেছে, যা car অবজেক্ট থেকে অ্যাক্সেস করা যায়।


অবজেক্ট মেথড

Object.keys()

কোনো অবজেক্টের সমস্ত কী গুলোর একটি অ্যারে রিটার্ন করে।

const keys = Object.keys(person);
console.log(keys);  // আউটপুট: ["name", "age", "isEmployed"]

Object.values()

কোনো অবজেক্টের সমস্ত ভ্যালু গুলোর একটি অ্যারে রিটার্ন করে।

const values = Object.values(person);
console.log(values);  // আউটপুট: ["Alisha", 32, true]

Object.entries()

কোনো অবজেক্টের সমস্ত কী-ভ্যালু জোড়া গুলোর একটি অ্যারে রিটার্ন করে।

const entries = Object.entries(person);
console.log(entries);  
// আউটপুট: [["name", "Alisha"], ["age", 32], ["isEmployed", true]]

অবজেক্ট ডিসট্রাকচারিং (Object Destructuring)

অবজেক্ট ডিসট্রাকচারিং ব্যবহার করে অবজেক্টের প্রোপার্টি গুলোকে সহজে ভেরিয়েবল হিসেবে অ্যাক্সেস করা যায়।

const { name, age } = person;
console.log(name);  // আউটপুট: Alisha
console.log(age);   // আউটপুট: 32

স্প্রেড অপারেটর (Spread Operator) এবং অবজেক্ট

স্প্রেড অপারেটর ব্যবহার করে অবজেক্টের প্রোপার্টি গুলোকে কপি বা মিশ্রিত করা যায়।

অবজেক্ট কপি করা

const personCopy = { ...person };
console.log(personCopy);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true }

অবজেক্ট মিশ্রিত করা

const additionalInfo = { city: "Dhaka", country: "Bangladesh" };
const fullPerson = { ...person, ...additionalInfo };
console.log(fullPerson);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true, city: "Dhaka", country: "Bangladesh" }

JSON এবং অবজেক্ট

জাভাস্ক্রিপ্ট অবজেক্টকে JSON (JavaScript Object Notation) এ রূপান্তর এবং বিপরীত করার জন্য JSON.stringify() এবং JSON.parse() মেথড ব্যবহার করা হয়।

অবজেক্টকে JSON এ রূপান্তর

const jsonString = JSON.stringify(person);
console.log(jsonString);
// আউটপুট: {"name":"Alisha","age":32,"isEmployed":true}

JSON কে অবজেক্টে রূপান্তর

const jsonObject = JSON.parse(jsonString);
console.log(jsonObject);
// আউটপুট: { name: "Alisha", age: 32, isEmployed: true }

সারাংশ

জাভাস্ক্রিপ্ট অবজেক্টগুলি ডেটা এবং ফাংশনগুলিকে একসাথে সংরক্ষণ এবং পরিচালনা করার একটি শক্তিশালী উপায় প্রদান করে। অবজেক্ট লিটারেল, কনস্ট্রাক্টর ফাংশন, এবং ক্লাসের মাধ্যমে অবজেক্ট তৈরি করা যায়। প্রোপার্টি অ্যাক্সেস, মেথড, this কিওয়ার্ড, প্রোটোটাইপ, এবং অবজেক্ট মেথডগুলি অবজেক্ট ম্যানিপুলেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে। অবজেক্ট ডিসট্রাকচারিং, স্প্রেড অপারেটর, এবং JSON এর মাধ্যমে অবজেক্টগুলির সাথে কাজ করা আরও সহজ এবং কার্যকরী হয়। সঠিক বেস্ট প্র্যাকটিস অনুসরণ করে অবজেক্টের ব্যবহার কোডের সংগঠন, রক্ষণাবেক্ষণযোগ্যতা এবং কার্যকারিতা বৃদ্ধি করে।

টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion